#include <func.h>

int my_system(const char* command)
{
    pid_t pid = fork();
    switch(pid) {
    case -1:
        perror("fork()");
        exit(1);
    case 0:     // 子进程
        // 执行新的可执行程序: sh, 命令行参数: sh, -c, command, NULL
        // 环境变量：不需要设置
        execlp("sh", "sh", "-c", command, NULL);
    default:
        // 等待子进程结束
        if (waitpid(pid, NULL, 0) == -1) {
            perror("waitpid()");
            exit(1);
        }
    }
    return 0;
}

int main(int argc, char* argv[])
{
    my_system("top");
    return 0;
}

